﻿/**
 * 
 * @file OperatorsNew.h
 * @brief 创建按钮点击事件响应 
 * @author LiBaojun (libaojunqd@foxmail.com)
 * @date 2024-09-24
 * 
 */
#ifndef _Operators__New_H
#define _Operators__New_H

#include "FITK_Kernel/FITKCore/FITKActionOperator.h"
#include "FITK_Kernel/FITKCore/FITKOperatorRepo.h"

namespace ModelOper
{
    /**
     * @brief 创建按钮点击事件
     * @author LiBaojun (libaojunqd@foxmail.com)
     * @date 2024-09-24
     */
    class OperatorsNew :public Core::FITKActionOperator
    {
        Q_OBJECT;
    public:
        /**
         * @brief Construct a new Operators New object
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-09-24
         */
        explicit OperatorsNew();
        /**
         * @brief Destroy the Operators New object
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-09-24
         */
        virtual ~OperatorsNew();
         /**
          * @brief UI相关操作
          * @return true 
          * @return false 
          * @author LiBaojun (libaojunqd@foxmail.com)
          * @date 2024-09-24
          */
        virtual bool execGUI() override;
        /**
         * @brief 执行业务操作
         * @return true 
         * @return false 
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-09-24
         */
        virtual bool execProfession() override;

        /**
         * @brief 清楚所有数据
         * @author wanging(2185896382@qq.com)
         * @date 2024-11-21
         */
        void clearAll();
    };

    // 按钮注册相关操作
    Register2FITKOperatorRepo(actionNew, OperatorsNew);
}

#endif